package com.zrar.ak.gkpt.service.record;

import com.zrar.ak.gkpt.model.vo.UserVO;
import com.zrar.ak.gkpt.util.JsonPageResult;
import com.zrar.ak.gkpt.util.JsonResult;

/**
 * @ClassName: IBusinessBidPurchaseSerice
 * @Description 资金管理Service层接口
 * @Author HuangKeXin
 * @Time 2020/04/4
 */
public interface IBusinessFundManageService {
    /**
     * 资金明细信息保存
     * @param jsonResult
     * @param formDataJson
     * @param userVO
     * @return
     */
    JsonResult foundManageDetailsSave(JsonResult jsonResult, String formDataJson, UserVO userVO);

    /**
     * 资金明细信息修改
     * @param jsonResult
     * @param formDataJson
     * @param userVO
     * @return
     */
    JsonResult foundManageDetailsUpdate(JsonResult jsonResult, String formDataJson, UserVO userVO);

    /**
     * 资金调整明细信息保存
     * @param jsonResult
     * @param formDataJson
     * @param userVO
     * @return
     */
    JsonResult foundManageAdjustSave(JsonResult jsonResult, String formDataJson, UserVO userVO);

    /**
     * 资金调整明细信息修改
     * @param jsonResult
     * @param formDataJson
     * @param userVO
     * @return
     */
    JsonResult foundManageAdjustUpdate(JsonResult jsonResult, String formDataJson, UserVO userVO);

    /**
     * 根据建设单位编码获取资金明细信息与对应的调整信息
     * @param unitId
     * @param jsonResult
     * @return
     */
    JsonResult foundManageDetailsGetByUnitId(JsonResult jsonResult, String unitId);

    /**
     * 根据建设单位编码将对应的资金明细信息与对应的调整信息置为无效
     * @param jsonResult
     * @param unitId
     * @param foundType :资金类型(1:资金明细信息和资金调整明细信息执行删除操作 2:资金调整明细信息执行删除操作)
     * @return
     */
    JsonResult deleteFoundManageDetailsByUnitId(JsonResult jsonResult, String unitId, String foundType);

    /**
     * 获取资金明细信息列表(分页模糊查询)
     * @param currentPage
     * @param pageSize
     * @param unitName
     * @return
     */
    JsonPageResult getFoundManageDetailsList(JsonPageResult jsonResult, int currentPage, int pageSize, String unitName);

}
